草庐IT

MySQL GROUP BY 和 COUNT 多列

全部标签

php - mySQL:将一列的结果作为多列返回

第一次在这里提问,如果格式不正确,敬请谅解。我正在尝试从多个表中提取一些信息以构建报告。所述表格来自Magento实例,以防有帮助。所以,我有四个正在使用的表:customer_entity、customer_address_entity、customer_address_entity_text和customer_address_var_char在customer_entity中,我需要获取三个字段:entity_id、email和group_id在customer_address_entity中,我需要获取parent_id(等于上面的entity_id)和entity_id(与上面

PHP + PDO 在多列搜索时分页

尝试在数据库搜索中进行php分页时出现语法错误。我做错了什么?功能:publicfunctionsearchItem1($search,$page){$limit='5';$start=($page*$limit)-5;echo$start;$where=array();$words=preg_split('/[\s]+/',$search);array_unshift($words,'');unset($words[0]);$sqlstring=implode("OR",array_fill(0,count($words),"itemnameLIKE?"));$sql="SELECT

Mysql 在使用多个 JOIN 时返回不正确的 COUNT?

我有3个表:NAMES、REGISTRATIONS和RENEWALS。我正在使用LEFTJOIN连接具有公共(public)ID的3个表。我需要统计每个用户的REGISTRATIONS数量,以及RENEWALS数量。我试过在GROUPBY字段中使用不同的选项,但似乎都不起作用。这是SELECT语句:SELECTnames.name_idAS'NamesID',names.nameASName,count(registrations.date)ASRegistrations,count(renewals.date)ASRenewalsFROMnamesLEFTJOINregistrati

MySQL 跨多列排名

我们有一个包含以下数据的MySQL表(结果)|nid|uid|score|duration在这张表中,我们有来自多个测验的结果,我们需要提出一个查询,为我们提供每个测验的用户排名输出。排名必须基于最高分到最低分,如果分数与最低持续时间和最高持续时间持平。我们目前有这个查询:SELECTnid,uid,score,duration,rankFROM(SELECTnid,uid,score,duration,@curRank:=IF(@prevRank=score+duration,@curRank,@incRank)ASrank,@incRank:=@incRank+1,@prevRan

MYSQL select count(*) in an table if id exists in another table

这应该很简单,但我一直坚持下去,在这里找不到答案。我想计算一个表中与给定user_id匹配的记录数,如果该user_id存在于另一个表中,否则返回-1。类似于:SELECTCOUNT(*)FROMtable_1WHEREuser_id=(IFEXISTStable_2.user_id='22'),ELSE-1;总而言之,如果table_2包含一个user_id为22,则返回table_1中带有user_id为22,否则返回-1。请问我该怎么做?(注意。澄清一下,user_id不是两个表中的主键)编辑:添加表格示例:table_1---------------------user_id|

mysql - 使用 mysql 和 knex 将 SELECT COUNT 保存到变量中

我想使用knex和MySQL进行计数并将计数值保存到变量中。下面是我的代码片段。我使用postman来请求router.post('/insertNewProject',(req,res)=>{knex.raw('SELECTCOUNT(id_proj)FROMprojectWHEREprojectName=?',[req.body.projectName]).then((count)=>{res.json(count[0])}).catch(()=>{res.json({success:false,message:"Pleasetryagainlater."})})})这将返回我:[

mysql - 如何在 JOIN 表中使用 SQL CASE 和 COUNT

enterimagedescriptionhere我想使用连接查询将学生的许可状态汇总为一个结果。tbl_student和tbl_trns_clr例如,如果所有办公室状态都已清除,则备注已清除否则,如果一个办公室未清除,则备注未清除SELECT*FROM`tbl_student`asAjoin`tbl_trns_clr`asBonB.EDP=A.EDPANDCASEWHEN(SELECTCOUNT(*)FROMtbl_trns_clrWHEREB.clr_status='NotCleared'ANDA.EDP=B.EDP)=0THEN'Cleared'END)asclr_status我

MySQL : How to count the position of the results in a Select?

这个问题在这里已经有了答案:RankfunctioninMySQL(13个答案)关闭3年前。我需要计算结果在Select中的位置——比如RANKING。我有这个:"SELECTPLAYERID,SUM(POINTS)ASPOINTSFROMTABLE1GROUPBYPLAYERIDORDERBYPOINTS"我明白了:PLAYERIDPOINTS420021501100380我需要知道PlayerID=1在排名中的位置。我不是MySQL专家-但可以这样计算结果:RKPLAYERIDPOINTS1420022150311004380类似于:“SELECTCOUNT...”非常感谢!丹尼尔

SQL COUNT 条记录在表 2 JOINS 掉

使用MySQL,我有三个表:项目:IDname1"birthdayparty"2"soccermatch"3"winetastingevening"4"digoutgarden"5"mountainbiking"6"makingmusic"批处理:IDprojectIDtemplateIDwhen1117daysbefore2111daybefore34221daysbefore4417daysbefore5517daysbefore6357daysbefore73314daysbefore85114daysbefore模板:IDnamemessage1inf1"Hi,I'dliket

MySQL 多列唯一键

我熟悉的语法在'some_table'('col1','col2')上创建唯一索引'blah'但是我不确定这将如何表现。更具体地说,文档说Acolumnlistoftheform(col1,col2,...)createsamultiple-columnindex.Indexvaluesareformedbyconcatenatingthevaluesofthegivencolumns.在某些情况下这似乎没问题,但我想制作一个只包含唯一数字的表格。所以,我可以看到col1为12,col2为2,据我所知,这将连接到122,然后col11和col222的值将匹配它,这不是我想要的。有没有办